package com.sikaryofficial.workbench.domain.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

/**
 * 会员激励政策对象 membership_policy_t
 *
 * @author wuweihong
 * @date 2024-10-18
 */
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
@TableName(value = "membership_policy_t", autoResultMap = true)
public class MembershipPolicy implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 会员激励政策id
	 */
	@TableId(type = IdType.ASSIGN_ID, value = "membership_policy_id")
	private Long membershipPolicyId;

	/**
	 * 标题
	 */
	private String title;

	/**
	 * 状态 0-未激活 1-激活
	 */
	private Integer status;

	/**
	 * 最低金额
	 */
	private BigDecimal minAmount;

	/**
	 * 最高金额
	 */
	private BigDecimal maxAmount;

	/**
	 * 折扣比例
	 */
	private BigDecimal discount;

	/**
	 * 是否指定用户 0-否 1-是
	 */
	private Boolean hasSpecificUser;

	/**
	 * 租户号
	 */
	private Integer tenantId;

	/**
	 * 乐观锁
	 */
	private Integer revision;

	/**
	 * 创建人
	 */
	@TableField(fill = FieldFill.INSERT)
	private Long createdBy;

	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	private Date createdTime;

	/**
	 * 更新人
	 */
	@TableField(fill = FieldFill.UPDATE)
	private Long updatedBy;

	/**
	 * 更新时间
	 */
	@TableField(fill = FieldFill.UPDATE)
	private Date updatedTime;

	/**
	 * 删除版本：默认为0；删除则赋值当前记录主键ID
	 */
	private Long deletedVersion;

}
